1. Technical Field
The present invention generally relates to quality of service in communication networks. More specifically, the present invention relates to quality of service using multiple flows.
2. Description of Related Art
Conventionally, quality of service (QoS) refers to resource reservation control mechanisms in a communication network. Quality of service describes an ability to assign different performance levels to packets. The performance levels or priorities may be associated with certain applications, users, etc. Certain performance levels may be guaranteed for a particular flow, such as bit rate, delay, jitter, packet dropping probability, and/or bit error rate. Guaranteed performance levels may be quite important in delay sensitive applications, such as voice over internet protocol (VoIP), especially when communication network capacity is insufficient.
For IP networks, two broad approaches have been developed to implement quality of service. In the first approach, known as integrated services or “IntServ,” applications that require performance guarantees make individual reservations for communication network resources. Disadvantageously, routers in the communication network accept, maintain, and tear down the individual reservations, which hinders scalability of IntServ.
The second approach to implementing quality of service is known as differentiated services or “DiffServ.” In DiffServ, packets are marked according to certain performance requirements. In response, routers and switches within the communication network use various queuing strategies to tailor performance to the performance requirements. While IntServ lacks scalability, quality of service with DiffServ operates on aggregates of many flows, leaving ultimate decisions regarding flow assignments to third-parties.
Routing can also be based on quality of service. Certain routing protocols, such as a border gateway protocol (BGP), make routing decisions based on path, network policies, and/or rule sets in accordance with quality of service designations of the packets. This approach does not allow every possible path to be taken advantage of. Furthermore, users of the network may have no control over which path a given packet follows beyond choosing which service provider to send the packet.